const path = require('path');

module.exports = {
    // 入口文件：我们的 React 应用从这里开始
    entry: './web/static/js/main.js',

    // 输出配置
    output: {
        // 打包后的文件名
        filename: 'bundle.js',
        // 输出目录，这里我们设置为 web/static/dist
        path: path.resolve(__dirname, 'web', 'static', 'dist'),
    },

    // 模块处理规则
    module: {
        rules: [
            {
                // 对所有 .js 或 .jsx 文件应用 babel-loader
                test: /\.jsx?$/,
                exclude: /node_modules/,
                use: {
                    loader: 'babel-loader',
                    options: {
                        // 使用 react preset 来转换 JSX
                        presets: ['@babel/preset-react']
                    }
                }
            }
        ]
    },

    // 解析配置
    resolve: {
        extensions: ['.js', '.jsx'],
    },
};
